Web browsing is a frequently used service on the internet and on other networks, such as internal intranet networks. Web browsing usually involves software (e.g. so-called browser) on a terminal device operated by a user, this user accessing and retrieving data from so-called servers to the terminal device by means of the browser software. The terminal device can be a personal computer (PC), lap- or palmtop computer, mobile phone, smartphone, tablet computer, personal digital assistant (PDA) or the like. This sort of device provides a user interface allowing the user to input commands and some sort of display. The display then shows the retrieved data to the user. In the following, the terminal device is referred to as a client entity in order to account for the great variety of devices that are used today.
The data retrieved from one or more servers is displayed on the client entity in response to corresponding instructions from the user via the browser software or other programs and applications on the client entity (pull). However, also the servers may instruct the client entity to retrieve and display data (push). In any way, the retrieved data is displayed, saved, executed, played back, etc. on the client entity. As far as displayable data is concerned, this data comprises text data, image data, video data etc. A corresponding text, image, or video is then displayed on a screen of the client entity. Other data, such as audio data, may involve further hardware on the client entity so as to—for example—play back/reproduce a sound, song, announcement, or a soundtrack related to a displayed video. All this data involved in web browsing may represent so-called content. This broader term is to be understood as to include all types of data that can be reproduced on the client entity in the context of web browsing. Thus, content includes text-, graphic-, image-, video-content, etc.
The user usually enters an address into the browser software, or effects any other corresponding selection, so as to browse a given, so-called web-page. Such a web-page comprises all sort of contents and can be usually larger than the screen of the client entity. Although the client entity will be able to display a miniaturized view of any web page, the usual procedure is to display a first screen of the page on the client entity and let the user subsequently decide what other parts or pages are to be displayed.
Service providers, network operators, web page owners and other involved bodies may require information on the quality of their services so as to be able to distribute and organize resources, initiate and implement improvements etc. Conventional methods for analyzing the so-called quality of experience (QoE) for web browsing implement some kind of QoE metric based on the technical page load time (PLT). The PLT is typically defined as the time it takes for a web browser to download/retrieve all content that belongs to a page. It is already common practice that web site administrators can optimize the PLT by reorganizing the content on their sites.
Conventional methods for measuring the PLT include analyzing web server logs, to sending custom Javascript code to the browser that makes the measurements and then sends the result back to the server, and intercepting network traffic and reconstructing the page structure. Some of these, however, suffer from the drawback that the web server administrator must be involved in the measurement process. It is not possible for a network operator to measure web metrics on a large scale using these approaches.
Specifically, the technical PLT can be measured with executable code that is sent to the client. After doing the measurement the code reports the measurement back to a measurement server. It was also proposed that active measurement nodes can be used to do measurements and hence no code needs to be sent to ordinary client browsers. Further, the performance of a sequence of network requests can be measured that could be requests for web pages. The goal is to measure the time it takes to perform such a sequence of requests for a client and the focus is on evaluate the performance of a specific site. The approach is to record a sequence of requests and then send the recording to “data acquisition agents” spread over the network which will replay the recording. Measurements of the sequence of requests are then obtained from a variety of network parameters from different parts of the globe. The end to end performance can then be evaluated for the sequence of requests for the data acquisition agents. Also, passively measuring end-to-end technical PLT and other technical measurements such as caching efficiency are possible. Yet further, the performance of a network server can be determined by recording client requests at a server and then replaying these requests locally on the server to measure the performance of the server.
However, an interesting aspect that web users spend most of their time for looking at the first screen of a web page. Numbers suggest that users may take up to 80% of their time at looking at the first screen which usually provides an overview of the entire web page and/or provides means for navigating to other (not yet shown) parts of the web page. In this sense, the first screen can be an appropriate means to convey the most important contents or an overview of the contents as a whole to the user.
However, the above-mentioned PLT may differ significantly from the time to render the first screen. In particular, the technical PLT is in some cases more than twice the time to render the first screen. In general, the longer the page is, the longer will be the technical PLT, whereas the time it takes to render the first screen is not necessarily dependent on how much additional contents and pages form part of a web page/site.
The conventional approaches do not measure time to render the first screen. Rather, they are focused on measuring the technical PLT and do therefore not take into account the perception of the user, which is—however—a significant figure for estimating the QoE of web browsing. It is, moreover, difficult to adapt existing solutions so as to measure the time to render the first screen due to a lack of scalability. Further problems arise when user terminals are involved, e.g. by inserting Javascript code when the traffic goes through the network, since the resulting modifications and involvement of user hardware and communication resources are usually inacceptable.
As a consequence, there is a need for a way of measuring a web page rendering time that takes into account the amount of contents the user sees first. This way should be efficient, easy to implement and scalable. Involvement of network and web site administrators should be reduced to a minimum.